﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LY.Interface
{
    //[assembly: log4net.Config.XmlConfigurator(Watch = true)]
    public interface ILogService
    {
        /// <summary>
        /// Debugs the specified MSG.
        /// </summary>
        /// <param name="msg">The MSG.</param>
        void Debug(string msg);
        /// <summary>
        /// Traces the specified MSG.
        /// </summary>
        /// <param name="msg">The MSG.</param>
        void Trace(string msg);

        void Info(string msg);
        /// <summary>
        /// Warns the specified MSG.
        /// </summary>
        /// <param name="msg">The MSG.</param>
        void Warn(string msg);
        /// <summary>
        /// Errors the specified MSG.
        /// </summary>
        /// <param name="msg">The MSG.</param>
        void Error(string msg);
        /// <summary>
        /// Fatals the specified MSG.
        /// </summary>
        /// <param name="msg">The MSG.</param>
        void Fatal(string msg);
        /// <summary>
        /// 输出日志到Log4Net  info
        /// </summary>
        /// <param name="t"></param>
        /// <param name="ex"></param>
        void WriteInfoLog(Type t, Exception ex);
        /// <summary>
        /// 输出日志到Log4Net 
        /// </summary>
        /// <param name="t"></param>
        /// <param name="msg"></param>
        void WriteInfoLog(Type t, string msg);

        //Error
        void WriteErrorLog(Type t, Exception ex);
        void WriteErrorLog(Type t, string msg);

        //Debug
        void WriteDebugLog(Type t, Exception ex);
        void WriteDebugLog(Type t, string msg);

        //Warn
        void WriteWarnLog(Type t, Exception ex);
        void WriteWarnLog(Type t, string msg);
       
    }
}
